﻿//<![CDATA[
// 163 AJAX Tab
// update 2006.10.18
// 增加鼠标延迟感应特性。
// update 2006.10.8
// A 标签 href 属性将保持原有HTML功能。增加urn属性为AJAX Load 路径。
// update 2006.10.11
// 修正IE5.0 undefined 未定义错误，增加脚本错误屏蔽
var Browser = new Object();
Browser.isMozilla = (typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined') && (typeof HTMLDocument!='undefined');
Browser.isIE = window.ActiveXObject ? true : false;
Browser.isFirefox = (navigator.userAgent.toLowerCase().indexOf("firefox")!=-1);
Browser.isOpera = (navigator.userAgent.toLowerCase().indexOf("opera")!=-1);
if (Browser.isFirefox) { // entend Event Mod for FireFox
	extendEventObject();
}
function extendEventObject() {
	Event.prototype.__defineGetter__("srcElement", function () {
		var node = this.target;
		while (node.nodeType != 1) node = node.parentNode;
		return node;
	});
	Event.prototype.__defineGetter__("fromElement", function () {
		var node;
		if (this.type == "mouseover")
			node = this.relatedTarget;
		else if (this.type == "mouseout")
			node = this.target;
		if (!node) return;
		while (node.nodeType != 1) node = node.parentNode;
		return node;
	});
	Event.prototype.__defineGetter__("toElement", function () {
		var node;
		if (this.type == "mouseout")
			node = this.relatedTarget;
		else if (this.type == "mouseover")
			node = this.target;
		if (!node) return;
		while (node.nodeType != 1) node = node.parentNode;
		return node;
	});
}
function IsChild(cNode,pNode){
	while(cNode!=null){
		cNode=cNode.parentNode;
		if(cNode==pNode) return true;
	}
	return false;
}
var ajccache=new Object();
var waitInterval;
var tempref;
var MouseDelayTime=150;//鼠标感应延迟300毫秒
function getTBprefixName(str,sta){
	if(str.indexOf("active")!=-1 || str.indexOf("normal")!=-1) str=str.substr(6);
		else if(str.indexOf("over")!=-1) str=str.substr(4);
			else str="";
	return sta+str;
}
function startajaxtabs(){
	for(var i=0;i<arguments.length;i++)
	{
		var ulobj=document.getElementById(arguments[i]);
			ulist=ulobj.getElementsByTagName("li");
			for(var j=0;j<ulist.length;j++)
			{
				var thelist=ulist[j];
				if(thelist.parentNode.parentNode!=ulobj) continue;//只有第一层li有效 fixed 2006.9.29
				var ulistlink=thelist.getElementsByTagName("a")[0];
				var ulistlinkurl=ulistlink.getAttribute("urn");
				var ulistlinktarget=ulistlink.getAttribute("rel");
				thelist.setActive=function(bactive){
					if(bactive){
						this.status="active";
						this.className=getTBprefixName(this.className,"active");
					}else{
						this.status="normal";
						this.className=getTBprefixName(this.className,"normal");
					}
				}
				thelist.LoadTab=function(){
					this.setActive(true);
					this.parentNode.parentNode.activetab.setActive(false);
					this.parentNode.parentNode.activetab=this;
					var ulistlink=this.getElementsByTagName("a")[0];
					loadAJAXTab(ulistlink.getAttribute("urn"),ulistlink.getAttribute("rel"));
				}
				thelist.onmouseover=function(aEvent){
					var myEvent = window.event ? window.event : aEvent;
					var fm=myEvent.fromElement;
					if(IsChild(fm,this) || fm==this) return;//过滤子元素event
					if(this.status=="active") return;
					tempref=this;
					clearTimeout(waitInterval);
					waitInterval=window.setTimeout("tempref.LoadTab();",MouseDelayTime);
				}
				thelist.onmouseout=function(aEvent){
					var myEvent = window.event ? window.event : aEvent;
					var em=myEvent.toElement;
					if(IsChild(em,this) || em==this) return; //过滤子元素event
					if(this.status=="active") return;
					clearTimeout(waitInterval);
				}
				if(ulistlinkurl.indexOf("#default")!=-1){
					thelist.setActive(true);
					ulobj.activetab=thelist;
					ajccache[ulistlinkurl]=getElement(ulistlinktarget).innerHTML;
				}else{
					thelist.setActive(false);
				}
			}
		if(ulobj.activetab==null) ulobj.activetab=ulist[0];
	}
}
function getXmlhttp()
{
	var http_request;

	if(window.XMLHttpRequest) {
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType("text/xml");
		}
	}
	else if (window.ActiveXObject) {
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) {
		window.alert("can't create XMLHttpRequest object.");
		return null;
	}
	return http_request;
}
function loadAJAXTab(url,contentid){
	var ocontent=getElement(contentid);
	if(ajccache[url]==null) {
		var xhttp=getXmlhttp();
			xhttp.onreadystatechange=function(){
				if(xhttp.readyState == 4 && (xhttp.status==200 || window.location.href.indexOf("http")==-1))
				{
					ocontent.innerHTML=xhttp.responseText;
					ajccache[url]=ocontent.innerHTML;
				}
			}
		xhttp.open("GET",url,true);
		xhttp.send(null);
	}else{
		ocontent.innerHTML=ajccache[url];
	}
}
window.onerror=function(){return true}
//xml.js
var xhr;
function getXHR()
{
	try {
		xhr=new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			xhr=new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {
			xhr=false;
		}
	}
	if(!xhr&&typeof XMLHttpRequest!='undefined')
	{
		xhr=new XMLHttpRequest();
	}

	return xhr;
}
function openXHR(method,url,callback)
{
	getXHR();
	xhr.open(method,url);
	xhr.onreadystatechange=function()
	{
		if(xhr.readyState!=4)return;
		callback(xhr);
	}
	xhr.send(null);
}
function loadXML(method,url,callback)
{
	getXHR();
	xhr.open(method,url);
	xhr.setRequestHeader("Content-Type","text/xml");
	xhr.setRequestHeader("Content-Type","GBK");
	xhr.onreadystatechange=function()
	{
		if(xhr.readyState!=4)return;
		callback(xhr.responseXML);
	}
	xhr.send(null);
}
//搜索引擎
function soComm(obj){
obj.elements["word"].value=obj.elements["q"].value;
obj.elements["keyWord"].value=obj.elements["q"].value;
obj.action=obj.elements["url"].value;
}
function soCar(id){
obj=document.getElementById(id);
var url="http://page.so.163.com/Ztc.php";
obj.action=url;
obj.submit();
}
/*weather begin*/
function getElement(aID)
{
  return (document.getElementById) ? document.getElementById(aID): document.all[aID];
}
//local
function getWeather(xmlDom)
{
var contemt="";
	var doc=document.getElementById("div_weather");
	var node=xmlDom.getElementsByTagName("weather");
   if(node.length){
	  var len=node.length;
	  for(var i=0;i<len;i++)
	  {
	  	var c=node[i].getAttribute("c");
	  	var city=node[i].getAttribute("city");
	  	var wd=node[i].getAttribute("wd");
	  	var qx=node[i].getAttribute("qx");
	  	var img=node[i].getAttribute("qximg");
		if(img!=''&& img.length>0)
		{
			var imgs=img.split(",");

			contemt+='<div class="s"><a href="http://weather.news.163.com/">'+c+':'+wd+' '+qx+'</a></div>';
			for( var j=0;j<imgs.length;j++)
			{
			contemt+='<img src=http://img1.cache.netease.com/cnews/img/weatherlogo/'+imgs[j]+'>';
			}
		}
	  }
	  doc.innerHTML=contemt;
   }
}
function weather(coder)
{
	loadXML("GET","/weatherxml/"+coder+".xml",getWeather);
}
var city = new Array("安徽","黑龙江","山东","北京","湖北","山西","福建","湖南","陕西","甘肃","吉林","上海","广东","江苏","四川","广西","江西","天津","贵州","辽宁","西藏","海南","内蒙古","新疆","河北","宁夏","云南","河南","青海","浙江","重庆");
var weaths = new Array('58321','50953','54823','54511','57494','53772','58847','57679','57036','52889','54161','58367','59287','58238','56294','59431','58606','54527','57816','54342','55591','59758','53463','51463','53698','53614','56778','57083','52866','58457','57516');
function getCookieVal (offset) {
  var endstr = document.cookie.indexOf (";", offset);
  if (endstr == -1)
  endstr = document.cookie.length;
  return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
  var arg = name + "=";
  var alen = arg.length;
  var clen = document.cookie.length;
  var i = 0;
  while (i < clen) {
    var j = i + alen;
    if (document.cookie.substring(i, j) == arg)
      return getCookieVal (j);
    i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0)
       break;
  }
  return "";
}
function SetCookie(cookieName,cookieValue,nDays) {
 var today = new Date();
 var expire = new Date();
 if (nDays==null || nDays==0) nDays=1;
 expire.setTime(today.getTime() + 3600000*24*nDays);
 document.cookie = cookieName+"="+escape(cookieValue) + ";path=/;domain=.163.com;expires="+expire.toGMTString();
}
//首行登录
function loginSubmit(login){
var userName = login.elements['username'];
var password = login.elements['password'];
var ursname = login.elements['ursname'];
var loginSelect = login.elements['loginSelect'].value;
var selectNum = login.elements["loginSelect"].selectedIndex;
SetCookie("selectValue",selectNum,365);
if (userName.value == "") {
    alert("请输入用户名");
    return false;
}
if (password.value == "") {
    alert("请输入密码");
    password.focus();
    return false;
}
if (loginSelect == "网易通行证") {
    return true;
}
if (loginSelect == "163邮箱") {
    login.action = "https://reg.163.com/logins.jsp?url=http://entry.mail.163.com/coremail/fcg/ntesdoor2?lightweight=1&"
}
if (loginSelect == "126邮箱") {
    userName.name = "user";
    password.name = "password";
    ursname.name = "username";
    ursname.value = userName.value + "@126.com";
    login.action = "https://reg.163.com/logins.jsp?type=1&url=http://entry.mail.126.com/cgi/ntesdoor?hid%3D10010102%26lightweight%3D1%26verifycookie%3D1%26language%3D0%26style%3D-1";
}
if (loginSelect == "VIP邮箱") {
    login.action = "http://vip.163.com/logon.m?language=-1&style=-1&enterVip=true"
}
if (loginSelect == "188财富邮") {
    userName.name = "user";
    password.name = "pass";
    login.action = "http://reg.mail.188.com/servlet/coremail/login?"
}
if (loginSelect == "Yeah邮箱") {
    userName.name = "user";
    ursname.name = "username";
    ursname.value = userName.value + "@yeah.net";
    password.name = "password";
    login.action = "https://reg.163.com/logins.jsp?type=1&url=http://entry.yeah.net/cgi/ntesdoor?lightweight%3D1%26verifycookie%3D1%26style%3D-1";
}
if (loginSelect == "Netease邮箱") {
    userName.name = "user";
    ursname.name = "username";
    ursname.value = userName.value + "@netease.com";
    password.name = "password";
    login.action = "https://reg.163.com/logins.jsp?type=1&url=http://entry.yeah.net/cgi/ntesdoor?lightweight%3D1%26verifycookie%3D1%26style%3D-1";
}
login.submit();
}
function enterSubmit(event){
var obj = event.srcElement?event.srcElement:event.target;
var login = obj.form;
if(event.keyCode==13){loginSubmit(login);}
}
function getCityWeatherID(cityname){
        for(i=0;i<city.length;i++){
        if(city[i]==cityname){
                return weaths[i];
                }
        }
        return "54511";
}
var loc = GetCookie("theaddr");
if(!loc){
document.write("<script type='text/javascript' src='http://61.135.253.46/ipquery'><" + "/script>");
}
var wloc = GetCookie("NTES_WeatherAddr");
if(!wloc){
	wloc=getCityWeatherID(loc);
}
//导航的地方新闻
var addr = new Array("ah","hlj","sd","bj","hubei","sx","fj","hunan","shanxi","gs","jl","sh","gd","js","sc","gx","jx","tj","guizhou","ln","xz","hainan","nmg","xj","hb","nx","yn","henan","qh","zj","cq");
function getLNewsHomeByCityName(aCity){
	for(i=0;i<city.length;i++){
		if(city[i]==aCity){
			return "http://" + addr[i] + ".news.163.com/";
		}
	}
	return "http://bj.news.163.com/";
}
//]]>
